package com.poem.springboot_rear.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.poem.springboot_rear.entity.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

//@Mapper
public interface UserMapper extends BaseMapper<User> {

//    @Insert("insert into `user` (username, password, name,phone, email, address, avatar) " +
//            "values(#{username}, #{password}, #{name}, #{phone}, #{email}, #{address}, #{avatar})")
//    void insertUser(User user);
//
//    @Update("update `user` set username = #{username}, password = #{password}, name = #{name}, phone = #{phone}, " +
//            "email = #{email}, address = #{address}, avatar = #{avatar} where id = #{id}")
//    void updateUser(User user);
//
//    @Delete("delete from `user` where id = #{id}")
//    void deleteUser(Integer id);
//
//    @Select("select * from `user` order by id desc")
//    // order by id desc 倒序查询
//    List<User> selectAll();
//
//    @Select("select * from `user` where id = #{id} order by id desc")
//    User selectById(Integer id);
//
//    @Select("select * from `user` where name = #{name} order by id desc")
//    List<User> selectByName(String name);
//
//
//    @Select("select * from `user` where username = #{username} and name = #{name} order by id desc")
//    List<User> selectByMore(@Param("username") String username, @Param("name") String name);
//
//    // like 模糊查询， 当两边都有'%' 的时候就是全模糊查询，
//    @Select("select * from `user` where username like concat('%', #{username}, '%') and name like concat('%' , #{name}, '%') order by id desc")
//    List<User> selectByLike(String username, String name);
//
//    @Select("select * from `user` where username like concat('%', #{username}, '%') and name like concat('%' , #{name}, '%') order by id desc limit #{skipNum}, #{PageSize}")
//    List<User> selectByPage( @Param("skipNum") Integer skipNum,  @Param("PageSize") Integer PageSize, @Param("username") String username, @Param("name") String name);
//
//    @Select("select count(id) from `user` where username like concat('%', #{username}, '%') and name like concat('%' , #{name}, '%') order by id desc")
//    int selectCountByPage(@Param("username") String username, @Param("name") String name);
//
//    @Select("select * from `user` where username = #{username}")
//    User selectByUsername(String username);
}
